//
//  main.m
//  NSDictionary
//
//  Created by 李麻麻 on 14-8-7.
//  Copyright (c) 2014年 李麻麻. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    NSLog(@"--------------------字典部分----------------------");
    //工厂方法创建字典
    NSMutableArray *arr1 = [NSMutableArray arrayWithObjects:@"fand",@"i", nil];
//    for (NSString *str in arr1)
//    {
//        NSLog(@"%@",str);
//    }
    
    NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"me",@"我",@"hi",@"喂", nil];//不可变字典
    
    NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"hello",@"你好",arr1,@"数组",nil];//可变字典

    [dic2 setObject:@"world" forKey:@"世界"];//给可变字典里添加键值对
    [dic2 setObject:@"dictionary" forKey:@"字典"];//给可变字典添键值对
    [dic2 removeObjectForKey:@"世界"];//删除键以及对应的值
    [dic2 setObject:@"world" forKey:@"世界"];//给可变字典里添加键值对
    [dic2 setValuesForKeysWithDictionary:dic1];//给字典里添加一个字典
    [dic2 setObject:@"hello" forKeyedSubscript:@"寻找"];//给值重新定义一个键，将之前的键覆盖
    [dic2 setObject:@"hello" forKeyedSubscript:@"你好"];//给值重新定义一个数组
    [dic2 removeObjectsForKeys:arr1];//删除字典中的数组对应的键值对
    [dic2 setValue:@"name" forKey:@"姓名"];//添加一组键值对
    
    for (NSString *str in [dic2 allValues])//输出所有的值
    {
        NSLog(@"%@",str);
    }
    for (NSString *str in [dic2 allKeys])//输出所有的键
    {
        NSLog(@"%@",str);
    }
    NSLog(@"%@",[dic2 objectForKey:@"你好"]);//输出键所对应的值
     NSLog(@"%lu",[dic2 count]);//输出字典中键值的对数
//    NSLog(@"-----------------------------------------");
//   [dic2 removeAllObjects];//删除数组中的所有元素
//    NSArray *arr2 = [dic2 allKeys];
//    for (NSString *str in arr2)
//    {
//        NSLog(@"键对应的值：%@，键%@",[dic2 objectForKey: str],str);
//    }
//    
//    NSLog(@"%lu",[dic2 count]);//输出字典中键和值的对数
   
    
    return 0;
}

